/**
* @author sunke
* @Date 2023-10-13 10:28:19
* @description 产品分类
*/
package com.yuxi.model;

import com.yuxi.pubInter.BaseTimeDoMain;
import javax.validation.constraints.*;
import org.hibernate.validator.constraints.Length;

public class ProductType extends BaseTimeDoMain {
    /**
     * 排序
     */
    private Integer sortNum = 0;

    /**
     * 是否显示
     * 1:是:Y,0:否:N
     */
    private Integer showFlag = 1;

    /**
     * 是否删除
     * 1:删除:Y,0:正常:N
     */
    private Integer delFlag = 0;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 分类名称
     */
    @Length(max=50,message="分类名称长度最大值50")
    private String name;

    /**
     * 备注说明
     */
    @Length(max=200,message="备注说明长度最大值200")
    private String remark;

    /**
     * 分类类型
     * 0:产品分类:product_type,1:代理品牌:Brand
     */
    private Integer typeFlag;

    /**
     * 上级ID
     */
    @Length(max=32,message="上级ID长度最大值32")
    private String upId;

     /**
     *主键
     */
    public static final String ID = "product_type.pt_id";

     /**
     *创建时间
     */
    public static final String CREATE_TIME = "product_type.pt_create_time";

     /**
     *更新时间
     */
    public static final String UPDATE_TIME = "product_type.pt_update_time";

     /**
     *排序
     */
    public static final String SORT_NUM = "product_type.pt_sort_num";

     /**
     *是否显示
     */
    public static final String SHOW_FLAG = "product_type.pt_show_flag";

     /**
     *是否删除
     */
    public static final String DEL_FLAG = "product_type.pt_del_flag";

     /**
     *版本
     */
    public static final String VERSION = "product_type.pt_version";

     /**
     *分类名称
     */
    public static final String NAME = "product_type.pt_name";

     /**
     *备注说明
     */
    public static final String REMARK = "product_type.pt_remark";

     /**
     *分类类型
     */
    public static final String TYPE_FLAG = "product_type.pt_type_flag";

     /**
     *上级ID
     */
    public static final String UP_ID = "product_type.pt_up_id";

     /**
     *填充detail key
     */
    public static final String PRODUCT_TYPE_FULL_DETAIL_KEY = "PRODUCT_TYPE_FULL_DETAIL";

     /**
     *填充list key
     */
    public static final String PRODUCT_TYPE_FULL_LIST_KEY = "PRODUCT_TYPE_FULL_LIST";

    /**
     * 获取排序
     *
     * @return pt_sort_num - 排序
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置排序
     *
     * @param sortNum 排序
     */
    public ProductType setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
        return this;
    }

    /**
     * 获取是否显示
     *
     * @return pt_show_flag - 是否显示
     */
    public Integer getShowFlag() {
        return showFlag;
    }

    /**
     * 设置是否显示
     * 1:是:Y,0:否:N
     *
     * @param showFlag 是否显示
     */
    public ProductType setShowFlag(Integer showFlag) {
        this.showFlag = showFlag;
        return this;
    }

    /**
     * 获取是否删除
     *
     * @return pt_del_flag - 是否删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否删除
     * 1:删除:Y,0:正常:N
     *
     * @param delFlag 是否删除
     */
    public ProductType setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    /**
     * 获取版本
     *
     * @return pt_version - 版本
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 设置版本
     *
     * @param version 版本
     */
    public ProductType setVersion(Integer version) {
        this.version = version;
        return this;
    }

    /**
     * 获取分类名称
     *
     * @return pt_name - 分类名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置分类名称
     *
     * @param name 分类名称
     */
    public ProductType setName(String name) {
        this.name = name == null ? null : name.trim();
        return this;
    }

    /**
     * 获取备注说明
     *
     * @return pt_remark - 备注说明
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注说明
     *
     * @param remark 备注说明
     */
    public ProductType setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
        return this;
    }

    /**
     * 获取分类类型
     *
     * @return pt_type_flag - 分类类型
     */
    public Integer getTypeFlag() {
        return typeFlag;
    }

    /**
     * 设置分类类型
     * 0:产品分类:product_type,1:代理品牌:Brand
     *
     * @param typeFlag 分类类型
     */
    public ProductType setTypeFlag(Integer typeFlag) {
        this.typeFlag = typeFlag;
        return this;
    }

    /**
     * 获取上级ID
     *
     * @return pt_up_id - 上级ID
     */
    public String getUpId() {
        return upId;
    }

    /**
     * 设置上级ID
     *
     * @param upId 上级ID
     */
    public ProductType setUpId(String upId) {
        this.upId = upId == null ? null : upId.trim();
        return this;
    }
}